package tests;

import java.awt.geom.Point2D;
import java.util.ArrayList;
import java.util.List;

import funciones.FuncionX;

import metodosInterpoladores.Interpoladores;

public class InterpolacionLinealTest {
//	/*En el test se utiliza el metodo de interpolacion lineal para
//	 * que se devuelta la funcion que interpola los puntos dados.
//	 */
//	
//	public static final List<Point2D.Double> crearPuntos() {
//	// Creo un arraylist y le agrego los puntos a interpolar
//	List<Point2D.Double> puntos = new ArrayList<Point2D.Double>();
//	// En este caso se usan puntos arbitrarios
//	puntos.add(new Point2D.Double(1, 1));
//	puntos.add(new Point2D.Double(3, 3));
//	puntos.add(new Point2D.Double(5, 5));
//	return puntos;
//
//	}
//	
//public static void main(String[] args) {
//	//Accedo al metodo desde la clase "Interpoladores" donde los distintos metodos estan agrupados
//	
////	FuncionX interpolacion = Interpoladores.interpolarLinealmente(crearPuntos());
////	double prueba = interpolacion.eval(4);
////	
//	FuncionX interpolacion = Interpoladores.interpolarNewton(crearPuntos());
//	double prueba = interpolacion.eval(2);
//	double prueba2 = interpolacion.eval(4);
//	double prueba3 = interpolacion.eval(6);
//	double prueba4 = interpolacion.eval(7);
//	double prueba5 = interpolacion.eval(8);
//	double prueba6 = interpolacion.eval(9);
//
//	System.out.println("En x=2 la funcion pasara por el punto: " + prueba + "\n" + 
//			"y en x=4 pasara por el punto: " +prueba2);
//	}
	
	
	public static final List<Point2D.Double> crearPuntos() {
	// Creo un arraylist y le agrego los puntos a interpolar
	List<Point2D.Double> puntos = new ArrayList<Point2D.Double>();
	// En este caso se usan puntos arbitrarios
	puntos.add(new Point2D.Double(0, 1));
	puntos.add(new Point2D.Double(1, 0));
	puntos.add(new Point2D.Double(0, -1));
	puntos.add(new Point2D.Double(2,0));
	puntos.add(new Point2D.Double(3, 0));
	return puntos;
	}
	
	public static void main(String[] args) {
		FuncionX interpolacion = Interpoladores.interpolarLinealmente(crearPuntos());
		double prueba1 = interpolacion.eval(0);
		double prueba2 = interpolacion.eval(3);
		double prueba3 = interpolacion.eval(-2);
		
		System.out.println("En x=0 la funcion pasara por el punto: "+prueba1 +"\n"+ "En x=3 pasara por y: " +prueba2+ 
				"\n" +"En x=-2 pasara por y: " +prueba3);
	}
	
}
